package com.ruoyi.service.project.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 项目验收信息表
 * </p>
 *
 * @author Zane
 * @since 2025-10-18
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("t_project_delivery")
public class ProjectDeliveryEntity implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 自增主键
   */
  @TableId(value = "id", type = IdType.AUTO)
  private Long id;

  /**
   * 项目ID
   */
  @TableField("project_id")
  private String projectId;

  /**
   * 备用金使用总额
   */
  @TableField("reserve_fund_used_amount")
  private BigDecimal reserveFundUsedAmount;
  /**
   * 备用金使用明细文件
   */
  @TableField("reserve_fund_used_file")
  private String reserveFundUsedFile;

  /**
   * 备用金使用明细文件Key
   */
  @TableField("reserve_fund_used_file_key")
  private String reserveFundUsedFileKey;

  /**
   * 项目报告
   */
  @TableField("report_file")
  private String reportFile;

  /**
   * 项目报告文件Key
   */
  @TableField("report_file_key")
  private String reportFileKey;

  /**
   * 验收状态  0 未验收 1 验收通过 2 验收驳回
   */
  @TableField("verify_status")
  private Integer verifyStatus;

  /**
   * 验收人
   */
  @TableField("verify_by")
  private Long verifyBy;

  /**
   * 验收时间
   */
  @TableField("verify_time")
  private LocalDateTime verifyTime;

  /**
   * 验收内容
   */
  @TableField("verify_content")
  private String verifyContent;

  /**
   * 验收分值 1~10,每个单位代表半颗星
   */
  @TableField("comment_score")
  private Integer commentScore;

  /**
   * 评价内容
   */
  @TableField("comment_content")
  private String commentContent;

  /**
   * 创建者
   */
  @TableField("create_by")
  private Long createBy;

  /**
   * 创建时间
   */
  @TableField("create_time")
  private LocalDateTime createTime;

  /**
   * 更新者
   */
  @TableField("update_by")
  private Long updateBy;

  /**
   * 更新时间
   */
  @TableField("update_time")
  private LocalDateTime updateTime;


}
